import argparse

# 创建 ArgumentParser 对象
parser = argparse.ArgumentParser(description="这是一个命令行程序的描述")

# 创建子命令解析器
subparsers = parser.add_subparsers(title="子命令", dest="command")

# 创建子 cmd1 的解析器
parser_cmd1 = subparsers.add_parser("cmd1", help="子命令1的帮助信息")
parser_cmd1.add_argument( "positional_arg", type=str,  default="", help="子命令1的位置参数")
parser_cmd1.add_argument( "-optional_arg", type=str,  default=20, help="子命令1的可选参数")


# 创建子 cmd1 的解析器
parser_cmd2 = subparsers.add_parser("cmd2", help="子命令2的帮助信息")
parser_cmd2.add_argument( "positional_arg", type=str,  default="", help="子命令2的位置参数")
parser_cmd2.add_argument( "-optional_arg", type=str,  default=20, help="子命令2的可选参数")

# 解析命令行参数
args = parser.parse_args()

# 根据解析的命令执行相应的逻辑
# python main_cmd.py cmd1 value1 -optional_arg 10
# python main_cmd.py cmd2 value2 -optional_arg 10
if args.command == "cmd1":
    print("执行 cmd1 的逻辑")
    print("位置参数：",args.positional_arg)
    print("可选参数：",args.optional_arg)
elif args.command == "cmd2":
    print("执行 cmd2 的逻辑")
    print("位置参数：",args.positional_arg)
    print("可选参数：",args.optional_arg)

